
export const useIMStore = defineStore('IM', () => {
  const msgCount = ref<{ string, number }>({
    NOTICE: 0,
    CHAT_GROUP:0
  });
  const get=(key: string)=>{
    if (msgCount.value[key]) {
      return  msgCount.value[key];
    } else {
      return 0;
    }
  }
  //减少一个
  const reduce = (key: string) => {
    if (msgCount.value[key]) {
      if (msgCount.value[key] > 0) {
        msgCount.value[key] -= 1;
      }
    } else {
      msgCount.value[key] = 0;
    }
  };
  //减少多个个
  const reduceNumber = (key: string,number:number) => {
    if (msgCount.value[key]) {
      if (msgCount.value[key] > 0) {
        msgCount.value[key] -= number;
      }
    } else {
      msgCount.value[key] = 0;
    }
  };
  //添加一个
  const add = (key: string) => {
    if (msgCount.value[key]) {
      msgCount.value[key] += 1;
    } else {
      msgCount.value[key] = 1;
    }

  };
  //设置数量
  const set = (key: string, count: number) => {
    if (msgCount.value[key]) {
      msgCount.value[key] = count;
    } else {
      msgCount.value[key] = count;
    }

  };
  //清空
  const close = () => {
    msgCount.value={}
  };

  //获取个人中心 所有 读消息数量
  const getPersonalCenterCount = () => {
    let PersonalCenterCount=0
    PersonalCenterCount+=msgCount.value.NOTICE || 0;
    PersonalCenterCount+=msgCount.value.WORKFLOW || 0;
    return PersonalCenterCount;
  };

  //获取我的 所有 读消息数量
  const getMineMessageCount = () => {
    let mineCount=0
    mineCount+=msgCount.value.NOTICE || 0;
    return mineCount;
  };

  return {
    msgCount,
    get,
    reduce,
    reduceNumber,
    add,
    set,
    close,
    getMineMessageCount,
    getPersonalCenterCount
  };


}, { unistorage: { key: 'IM', paths: ['msgCount'] } });

export default useIMStore;

